Table 다루기

✒️ 2025-05-28 16:16 내용 수정


DDL을 이용한 테이블 생성

MySQL 참고사항

SELECT * FROM DB이름.TABLE이름;
SELECT ROUND(3.14);

테이블 설정

  1. 좌측 상단에 SQL + 아이콘을 눌러 새 SQL 편집기를 연다.
  2. 아래 구문을 작성해서 DB를 추가한다. SQL을 작성하고 DBeaver#단축키에서 사용한 Ctrl + Enter를 누르면 해당 줄의 SQL문을 실행한다.
CREATE DATABASE 데이터베이스이름;

mysql8.png

  1. DB가 성공적으로 추가되었다면 아래 Output 창에 해당 SQL이 제대로 실행되었다고 뜬다.

    • SQL을 저장할 땐 저장 아이콘을 누른다.
      mysql9.png
      mysql10.png
  2. 이제 테이블을 추가한다. 특정 DB를 사용할 땐 아래 구문을 입력한다.

    • 객체 및 예약어 표시로는 백틱" ` ", 문자열 표시론 홑따옴표" ' " 사용
  3. 테이블을 생성할 땐 DDL(Data Definition Language)을 사용하여 추가한다.

    • DDL 작성 시 소괄호 안에 빈 줄을 넣지 않도록 주의한다.
-- 사용할 DB 지정
USE `데이터베이스이름`;

-- 테이블 추가
CREATE TABLE `테이블명` (
	`컬럼명1` 타입,
	`컬럼명2` 타입,
	`컬럼명3` 타입
);

mysql11.png

  1. 추가한 DB를 확인하려면 왼쪽 schemas에서 해당 DB를 선택하고, schemas 오른쪽의 새로고침 아이콘이나 schemas에서 우클릭 후 Refresh all을 눌러 변경 내용이 업데이트 되어 보이도록 한다.
    • 해당 테이블을 선택하면 컬럼명과 데이터타입을 확인할 수 있다.

mysql12.png
mysql13.png

  1. schemas에서 테이블 이름에 마우스를 올려두면 수정 버튼이 뜨는데, 이를 이용해서 테이블의 제약 조건을 설정할 수 있다.
옵션 이름
PK Primary key
NN Not Null
UQ Unique
B Binary
UN Unsigned
ZF Zero Fill
AI Auto Increment, Oracle의 SEQUENCE와 유사
G Generated

mysql14.png

  1. 제약 조건 설정 수 Apply를 꼭 눌러서 변경 내용을 저장해준다.

mysql15.png
mysql16.png


SQL로 제약 조건을 추가하여 테이블 설정하기

CREATE DATABASE sample;

USE sample;
  1. 방법 1 : 생성하는 컬럼에 PRIMARY KEY 지정하기
CREATE TABLE sample.`student`(
	`id` INT PRIMARY KEY NOT NULL AUTO_INCREMENT, -- Oracle때처럼 바로 옆에 추가
    `name` VARCHAR(20) NULL,
    `student_no` INT NULL,
    `major` VARCHAR(15) NULL,
    `email` VARCHAR(50) NULL,
    `phone` VARCHAR(15) NULL,
    `admission_date` DATE NULL,
    PRIMARY KEY(`id`)
);
  1. 방법 2 : 컬럼을 모두 작성하고 PRIMARY KEY 명시하기
CREATE TABLE sample.`student`(
	`id` INT NOT NULL AUTO_INCREMENT,
    `name` VARCHAR(20) NULL,
    `student_no` INT NULL,
    `major` VARCHAR(15) NULL,
    `email` VARCHAR(50) NULL,
    `phone` VARCHAR(15) NULL,
    `admission_date` DATE NULL,
    PRIMARY KEY(`id`)  -- 맨 마지막에 PRIMARY KEY로 지정할 컬럼이름 작성
);
  1. 방법 3 : 제약 조건에 이름을 추가하면서 PRIMARY KEY 지정하기
CREATE TABLE sample.`student`(
	`id` INT NOT NULL AUTO_INCREMENT,
    `name` VARCHAR(20) NULL,
    `student_no` INT NULL,
    `major` VARCHAR(15) NULL,
    `email` VARCHAR(50) NULL,
    `phone` VARCHAR(15) NULL,
    `admission_date` DATE NULL,
    CONSTRAINT PK_ID PRIMARY KEY(`id`)
);
CREATE TABLE sample.`student`(
	`id` INT NOT NULL AUTO_INCREMENT,
    `name` VARCHAR(20) NULL,
    CONSTRAINT PK_ID PRIMARY KEY(id, name)  -- id + name으로 조합된 PRIMARY KEY
);

mysql table.png